#version 330

layout(location=0) in vec4 in_PositionL;
layout(location=1) in vec2 in_TexCoord;
layout(location=2) in vec3 in_NormalL;

out vec2 ex_TexCoord;
out vec3 ex_PosW;
out vec3 ex_NormalW;

uniform mat4 MVP;
uniform mat4 World;

void main(void)
{
	gl_Position = MVP * in_PositionL;
	ex_TexCoord = in_TexCoord;
	ex_PosW = (World * in_PositionL).xyz;
	ex_NormalW = mat3(World) * in_NormalL;
}